/*
 *  snapshot_helper.h
 *  Wilson
 *
 *  Created by Sebastian Orfino on 11/18/11.
 *  Copyright 2011 lbs3. All rights reserved.
 *
 */

#ifndef __SNAPSHOTHELPER__
#define __SNAPSHOTHELPER__

#include "PMRect.h"
#include "UIDRef.h"
#include <string>

namespace wilson {
	/** un helper que te ayuda a sacar fotitos de una parte del spread (que le podemos llamar "tablero" o "lienzo"). No hay una buena
	 traduccion para spread, pero es en donde estan "esparcidas" un conjunto de paginas. Esto le saca una foto a una porcion de eso.
	 */			
	class snapshot_helper {

		UIDRef tablero_;
		
		
	public:
		/**
		 @param lienzo el canvas donde sacar la foto. En la practica deberia ser una ref al spread.
		*/
		snapshot_helper(UIDRef lienzo) : tablero_(lienzo) { }
		
		/** Saca una foro de la "ventana" y te la devuelve codificada en base64 PNG 
		 @param ventana un rectangulo que se usa para enmarcar la foto dentro del lienzo. Debe estar en coordenadas del spread.
		 */
		std::string shoot(const PMRect& ventana) const;
		
	};
}
#endif//__SNAPSHOTHELPER__